package main

import (
	"fmt"
	"math"
	"math/rand"
)

func add(x, y int) int {
	return x + y
}
func swap(x, y string) (string, string) {
	return y, x
}
//命名返回值
func split(sum int) (x, y int) {
	x = sum * 4 / 9
	y = sum - x
	return
}
//变量
var c, python, java bool
var k, d int = 1, 2

func main() {
	fmt.Printf("hello,world\n")

	fmt.Printf("Now you have %g problems.", math.Nextafter(2, 3))
	//包
	fmt.Println("My favorite number is", rand.Intn(10))
	fmt.Println(math.Pi)
	fmt.Println(add(2, 4))
	//多值返回
	a, b := swap("hello", "world")
	fmt.Println(a, b)
	fmt.Println(split(17))
	var i int
	fmt.Println(i, c, python, java)
	fmt.Println(k, d)
	//短声明变量	在函数中，`:=` 简洁赋值语句在明确类型的地方，可以用于替代 var 定义。
	//函数外的每个语句都必须以关键字开始（`var`、`func`、等等），`:=` 结构不能使用在函数外。
	j := 3
	fmt.Println(j)
}
